package com.iceclean.service;

import com.iceclean.po.CommentResource;

/**
 * @author : Ice'Clean
 * @date : 2021-05-15
 *
 * 资源服务接口
 */
public interface ResourceService {
    /**
     * 通过 id 寻找回复资源
     * @param resourceId 回复资源的 id
     * @return 回复资源实例对象
     */
    CommentResource findCommentResource(int resourceId);



    /**
     * 创建回复资源
     * @param resourceIdentify 资源的临时唯一标识
     * @param resourceName 资源名称
     * @return 新回复资源对象
     */
    CommentResource createCommentResource(String resourceIdentify, String resourceName);

    /**
     * 检查内容中的资源名称
     * 通过资源唯一标识到数据库中寻找该内容上传过的资源
     * 然后在服务器端删去上传过但内容中没有的资源
     * 最后将有用的资源绑定上回复 id
     * @param commentContent 回复内容
     * @param resourceIdentify 回复中资源的唯一标识
     * @param commentId 回复的 id
     */
    void checkContentResource(String commentContent, String resourceIdentify, int commentId);

    /**
     * 在服务器和数据库删除指定的资源
     * @param commentResource 指定的资源
     */
    void deleteResource(CommentResource commentResource);

    /**
     * 删除目标回复所持有的所有资源
     * @param commentId 目标回复 id
     */
    void deleteResourceByComment(int commentId);
}
